function init(){
    var BOI = parent.BOI; 
    BOI.loadReportCatalog(BOI.app_id, 'JSON', function () {
        var data = BOI.context.reportCatalogJSON;
        catalogHTML(data);
        navEvents();
    }, properties.mode );

} 

function navEvents(){
    $("#nav > li > a").on("click", function(e){
        if($(this).parent().has("ul")) {
            e.preventDefault();
        }

        if(!$(this).hasClass("open")) {
            // hide any open menus and remove all other classes
            $("#nav li ul").slideUp(350);
            $("#nav li a").removeClass("open");

            // open our new menu and add the open class
            $(this).next("ul").slideDown(350);
            $(this).addClass("open");
        }

        else if($(this).hasClass("open")) {
            $(this).removeClass("open");
            $(this).next("ul").slideUp(350);
        }
    });

    $("#nav > li > ul > li > a").on("click", function(e){
        var title = $.trim(this.innerHTML);
        var report = BOI.getContextReportByTitle(title);
        BOI.Events.raiseEvent(BOI.Events.repopen, [report.id]);
    })
}
function catalogHTML(data){
    var ui = '';
    $(data[0].children).each(function (indx, value) {
        var headNode = value;
        ui += '<li><a href="#"> ' + headNode.title + '</a><ul>';
        $(value.children).each(function (indx, node) {

            ui += '<li><a href="#">' + node.title + '</a></li>';
        });
        ui += '</ul></li>';
    });
    $('#nav').append(ui);
    return;

}

